package recorder

import (
	"context"
	"hotgo/internal/dao"

	"github.com/gogf/gf/v2/frame/g"
)

func (r *sRecorder) Done(ctx context.Context, aid int) error {
	// -- @# 检查活动ID是否存在
	isExist, errs := dao.RecordActivity.Ctx(ctx).Where(dao.RecordActivity.Columns().ActivityId, aid).Exist()
	if nil != errs {
		return errs
	}
	if !isExist {
		_, errs = dao.RecordActivity.Ctx(ctx).Data(g.Map{
			dao.RecordActivity.Columns().ActivityId: aid,
			dao.RecordActivity.Columns().RecordEnd:  1,
		}).Insert()
		if nil != errs {
			return errs
		}
	} else {
		_, errs = dao.RecordActivity.Ctx(ctx).Where(dao.RecordActivity.Columns().ActivityId, aid).Data(g.Map{
			dao.RecordActivity.Columns().RecordEnd: 1,
			dao.RecordActivity.Columns().OcrEnd:    0,
			dao.RecordActivity.Columns().MergeEnd:  0,
		}).Update()
		if nil != errs {
			return errs
		}
	}
	return nil
}
